import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

/**
 * @ClassDescription:
 * @JdkVersion: 1.8
 * @Author: 李白
 * @Created: 2024/7/29 22:40
 */
public class Main {
    public static User login(){
        System.out.println("请输入你的姓名");
        Scanner scanner = new Scanner(System.in);//创建对象，scanner就是专门用来读取键盘输出的类
        String name  = scanner.nextLine();
        System.out.println("请输入你的身份，1：管理员 2.普通用户");
        int choice = scanner.nextInt();
        if(choice == 1){
            return new AdminUser(name);//其中return后面的就是实例化
/*
            相当于User user = new AdminUser(name);

*/
        }else{
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {
        BookList bookList = new BookList();
        User user = login();//根据返回的实例，确定了身份
        while(true) {
            int choice = user.menu();//看上面的user是接收了哪个身份，就可以确定调用哪个重写的方法
            user.doOperation(choice, bookList);//调用了user的doOperation方法，而这个方法又调用了IOPeration接口的work方法
            //本质上就是为了实现增删改查操作
            //实际上就是一个参数的传递，需要我们先把方法写好，确定传参对象
        }
        }
}
